package core

import (
	"encoding/base64"
	"errors"
	"github.com/lukesampson/figlet/figletlib"
)

var font *figletlib.Font

func GenerateAsciiArt(text string) (string, error) {
	if font == nil {
		return "", errors.New("Error loading ASCII font")
	}

	if text == "" {
		return "", nil
	}

	return figletlib.SprintMsg(text, font, 10000, font.Settings(), "left"), nil
}

func CreateAsciiFont() {
	fileContent, err := getFontFileContent()
	if err != nil {
		DebugError(err)
		return
	}
	readFont, err := figletlib.ReadFontFromBytes(fileContent)
	if err != nil {
		DebugError(err)
		return
	}

	font = readFont
	return
}

func getFontFileContent() ([]byte, error) {
	content := "ZmxmMmEkIDYgNSAxNiAxNSAxMCAwIDE4MzE5IDk2ClNsYW50IGJ5IEdsZW5uIENoYXBwZWxsIDMvOTMgLS0gYmFzZWQgb24gU3RhbmRhcmQKSW5jbHVkZXMgSVNPIExhdGluLTEKZmlnbGV0IHJlbGVhc2UgMi4xIC0tIDEyIEF1ZyAxOTk0ClBlcm1pc3Npb24gaXMgaGVyZWJ5IGdpdmVuIHRvIG1vZGlmeSB0aGlzIGZvbnQsIGFzIGxvbmcgYXMgdGhlCm1vZGlmaWVyJ3MgbmFtZSBpcyBwbGFjZWQgb24gYSBjb21tZW50IGxpbmUuCgpNb2RpZmllZCBieSBQYXVsIEJ1cnRvbiA8c29sdXRpb25AZWFydGhsaW5rLm5ldD4gMTIvOTYgdG8gaW5jbHVkZSBuZXcgcGFyYW1ldGVyCnN1cHBvcnRlZCBieSBGSUdsZXQgYW5kIEZJR1dpbi4gIE1heSBhbHNvIGJlIHNsaWdodGx5IG1vZGlmaWVkIGZvciBiZXR0ZXIgdXNlCm9mIG5ldyBmdWxsLXdpZHRoL2tlcm4vc211c2ggYWx0ZXJuYXRpdmVzLCBidXQgZGVmYXVsdCBvdXRwdXQgaXMgTk9UIGNoYW5nZWQuCgogICAgICQkQAogICAgJCQgQAogICAkJCAgQAogICQkICAgQAogJCQgICAgQAokJCAgICAgQEAKICAgIF9fQAogICAvIC9ACiAgLyAvIEAKIC9fLyAgQAooXykgICBACiAgICAgIEBACiBfIF8gQAooIHwgKUAKfC98LyBACiAkICAgQAokICAgIEAKICAgICBAQAogICAgIF9fIF9fIEAKICBfXy8gLy8gL19ACiAvXyAgXyAgX18vQAovXyAgXyAgX18vIEAKIC9fLy9fLyAgICBACiAgICAgICAgICAgQEAKICAgICBfX0AKICAgXy8gL0AKICAvIF9fL0AKIChfICApIEAKLyAgXy8gIEAKL18vICAgIEBACiAgIF8gICBfX0AKICAoXylfL18vQAogICBfL18vICBACiBfL18vXyAgIEAKL18vIChfKSAgQAogICAgICAgICBAQAogICBfX18gICBACiAgKCBfICkgIEAKIC8gX18gXC98QAovIC9fLyAgPCBAClxfX19fL1wvIEAKICAgICAgICAgQEAKICBfIEAKICggKUAKIHwvIEAKICQgIEAKJCAgIEAKICAgIEBACiAgICAgX19ACiAgIF8vXy9ACiAgLyAvICBACiAvIC8gICBACi8gLyAgICBACnxffCAgICBAQAogICAgIF8gQAogICAgfCB8QAogICAgLyAvQAogICAvIC8gQAogXy9fLyAgQAovXy8gICAgQEAKICAgICAgIEAKICBfXy98X0AKIHwgICAgL0AKL18gX198IEAKIHwvICAgIEAKICAgICAgIEBACiAgICAgICBACiAgICBfXyBACiBfXy8gL19ACi9fICBfXy9ACiAvXy8gICBACiAgICAgICBAQAogICBACiAgIEAKICAgQAogXyBACiggKUAKfC8gQEAKICAgICAgIEAKICAgICAgIEAKIF9fX19fX0AKL19fX19fL0AKICAkICAgIEAKICAgICAgIEBACiAgIEAKICAgQAogICBACiBfIEAKKF8pQAogICBAQAogICAgICAgX19ACiAgICAgXy9fL0AKICAgXy9fLyAgQAogXy9fLyAgICBACi9fLyAgICAgIEAKICAgICAgICAgQEAKICAgX19fXyBACiAgLyBfXyBcQAogLyAvIC8gL0AKLyAvXy8gLyBAClxfX19fLyAgQAogICAgICAgIEBACiAgIF9fX0AKICA8ICAvQAogIC8gLyBACiAvIC8gIEAKL18vICAgQAogICAgICBAQAogICBfX18gQAogIHxfXyBcQAogIF9fLyAvQAogLyBfXy8gQAovX19fXy8gQAogICAgICAgQEAKICAgX19fX19ACiAgfF9fICAvQAogICAvXyA8IEAKIF9fXy8gLyBACi9fX19fLyAgQAogICAgICAgIEBACiAgIF9fIF9fQAogIC8gLy8gL0AKIC8gLy8gL19ACi9fXyAgX18vQAogIC9fLyAgIEAKICAgICAgICBAQAogICAgX19fX19fQAogICAvIF9fX18vQAogIC9fX18gXCAgQAogX19fXy8gLyAgQAovX19fX18vICAgQAogICAgICAgICAgQEAKICAgX19fX19ACiAgLyBfX18vQAogLyBfXyBcIEAKLyAvXy8gLyBAClxfX19fLyAgQAogICAgICAgIEBACiBfX19fX0AKL19fICAvQAogIC8gLyBACiAvIC8gIEAKL18vICAgQAogICAgICBAQAogICBfX19fIEAKICAoIF9fIClACiAvIF9fICB8QAovIC9fLyAvIEAKXF9fX18vICBACiAgICAgICAgQEAKICAgX19fXyBACiAgLyBfXyBcQAogLyAvXy8gL0AKIFxfXywgLyBACi9fX19fLyAgQAogICAgICAgIEBACiAgICAgQAogICBfIEAKICAoXylACiBfICAgQAooXykgIEAKICAgICBAQAogICAgIEAKICAgXyBACiAgKF8pQAogXyAgIEAKKCApICBACnwvICAgQEAKICBfX0AKIC8gL0AKLyAvIEAKXCBcIEAKIFxfXEAKICAgIEBACiAgICAgICBACiAgX19fX19ACiAvX19fXy9ACi9fX19fLyBACiAgJCAgICBACiAgICAgICBAQApfXyAgQApcIFwgQAogXCBcQAogLyAvQAovXy8gQAogICAgQEAKICBfX18gQAogL19fIFxACiAgLyBfL0AKIC9fLyAgQAooXykgICBACiAgICAgIEBACiAgIF9fX19fXyBACiAgLyBfX19fIFxACiAvIC8gX18gYC9ACi8gLyAvXy8gLyBAClwgXF9fLF8vICBACiBcX19fXy8gICBAQAogICAgX19fIEAKICAgLyAgIHxACiAgLyAvfCB8QAogLyBfX18gfEAKL18vICB8X3xACiAgICAgICAgQEAKICAgIF9fX18gQAogICAvIF9fIClACiAgLyBfXyAgfEAKIC8gL18vIC8gQAovX19fX18vICBACiAgICAgICAgIEBACiAgIF9fX19fX0AKICAvIF9fX18vQAogLyAvICAgICBACi8gL19fXyAgIEAKXF9fX18vICAgQAogICAgICAgICBAQAogICAgX19fXyBACiAgIC8gX18gXEAKICAvIC8gLyAvQAogLyAvXy8gLyBACi9fX19fXy8gIEAKICAgICAgICAgQEAKICAgIF9fX19fX0AKICAgLyBfX19fL0AKICAvIF9fLyAgIEAKIC8gL19fXyAgIEAKL19fX19fLyAgIEAKICAgICAgICAgIEBACiAgICBfX19fX19ACiAgIC8gX19fXy9ACiAgLyAvXyAgICBACiAvIF9fLyAgICBACi9fLyAgICAgICBACiAgICAgICAgICBAQAogICBfX19fX19ACiAgLyBfX19fL0AKIC8gLyBfXyAgQAovIC9fLyAvICBAClxfX19fLyAgIEAKICAgICAgICAgQEAKICAgIF9fICBfX0AKICAgLyAvIC8gL0AKICAvIC9fLyAvIEAKIC8gX18gIC8gIEAKL18vIC9fLyAgIEAKICAgICAgICAgIEBACiAgICBfX19fQAogICAvICBfL0AKICAgLyAvICBACiBfLyAvICAgQAovX19fLyAgIEAKICAgICAgICBAQAogICAgICAgX19ACiAgICAgIC8gL0AKIF9fICAvIC8gQAovIC9fLyAvICBAClxfX19fLyAgIEAKICAgICAgICAgQEAKICAgIF9fIF9fQAogICAvIC8vXy9ACiAgLyAsPCAgIEAKIC8gL3wgfCAgQAovXy8gfF98ICBACiAgICAgICAgIEBACiAgICBfXyBACiAgIC8gLyBACiAgLyAvICBACiAvIC9fX19ACi9fX19fXy9ACiAgICAgICBAQAogICAgX18gIF9fX0AKICAgLyAgfC8gIC9ACiAgLyAvfF8vIC8gQAogLyAvICAvIC8gIEAKL18vICAvXy8gICBACiAgICAgICAgICAgQEAKICAgIF8gICBfX0AKICAgLyB8IC8gL0AKICAvICB8LyAvIEAKIC8gL3wgIC8gIEAKL18vIHxfLyAgIEAKICAgICAgICAgIEBACiAgIF9fX18gQAogIC8gX18gXEAKIC8gLyAvIC9ACi8gL18vIC8gQApcX19fXy8gIEAKICAgICAgICBAQAogICAgX19fXyBACiAgIC8gX18gXEAKICAvIC9fLyAvQAogLyBfX19fLyBACi9fLyAgICAgIEAKICAgICAgICAgQEAKICAgX19fXyBACiAgLyBfXyBcQAogLyAvIC8gL0AKLyAvXy8gLyBAClxfX19cX1wgQAogICAgICAgIEBACiAgICBfX19fIEAKICAgLyBfXyBcQAogIC8gL18vIC9ACiAvIF8sIF8vIEAKL18vIHxffCAgQAogICAgICAgICBAQAogICBfX19fX0AKICAvIF9fXy9ACiAgXF9fIFwgQAogX19fLyAvIEAKL19fX18vICBACiAgICAgICAgQEAKICBfX19fX19ACiAvXyAgX18vQAogIC8gLyAgIEAKIC8gLyAgICBACi9fLyAgICAgQAogICAgICAgIEBACiAgIF9fICBfX0AKICAvIC8gLyAvQAogLyAvIC8gLyBACi8gL18vIC8gIEAKXF9fX18vICAgQAogICAgICAgICBAQAogXyAgICBfX0AKfCB8ICAvIC9ACnwgfCAvIC8gQAp8IHwvIC8gIEAKfF9fXy8gICBACiAgICAgICAgQEAKIF8gICAgICAgX19ACnwgfCAgICAgLyAvQAp8IHwgL3wgLyAvIEAKfCB8LyB8LyAvICBACnxfXy98X18vICAgQAogICAgICAgICAgIEBACiAgIF8gIF9fQAogIHwgfC8gL0AKICB8ICAgLyBACiAvICAgfCAgQAovXy98X3wgIEAKICAgICAgICBAQApfXyAgX19AClwgXC8gL0AKIFwgIC8gQAogLyAvICBACi9fLyAgIEAKICAgICAgQEAKIF9fX19fQAovX18gIC9ACiAgLyAvIEAKIC8gL19fQAovX19fXy9ACiAgICAgIEBACiAgICAgX19fQAogICAgLyBfL0AKICAgLyAvICBACiAgLyAvICAgQAogLyAvICAgIEAKL19fLyAgICBAQApfXyAgICBAClwgXCAgIEAKIFwgXCAgQAogIFwgXCBACiAgIFxfXEAKICAgICAgQEAKICAgICBfX19ACiAgICAvICAvQAogICAgLyAvIEAKICAgLyAvICBACiBfLyAvICAgQAovX18vICAgIEBACiAgLy98QAogfC98fEAKICAkICBACiAkICAgQAokICAgIEAKICAgICBAQAogICAgICAgQAogICAgICAgQAogICAgICAgQAogICAgICAgQAogX19fX19fQAovX19fX18vQEAKICBfIEAKICggKUAKICBWIEAKICQgIEAKJCAgIEAKICAgIEBACiAgICAgICAgQAogIF9fX18gX0AKIC8gX18gYC9ACi8gL18vIC8gQApcX18sXy8gIEAKICAgICAgICBAQAogICAgX18gIEAKICAgLyAvXyBACiAgLyBfXyBcQAogLyAvXy8gL0AKL18uX19fLyBACiAgICAgICAgQEAKICAgICAgIEAKICBfX19fX0AKIC8gX19fL0AKLyAvX18gIEAKXF9fXy8gIEAKICAgICAgIEBACiAgICAgICBfX0AKICBfX19fLyAvQAogLyBfXyAgLyBACi8gL18vIC8gIEAKXF9fLF8vICAgQAogICAgICAgICBAQAogICAgICBACiAgX19fIEAKIC8gXyBcQAovICBfXy9AClxfX18vIEAKICAgICAgQEAKICAgIF9fX19ACiAgIC8gX18vQAogIC8gL18gIEAKIC8gX18vICBACi9fLyAgICAgQAogICAgICAgIEBACiAgICAgICAgIEAKICAgX19fXyBfQAogIC8gX18gYC9ACiAvIC9fLyAvIEAKIFxfXywgLyAgQAovX19fXy8gICBAQAogICAgX18gIEAKICAgLyAvXyBACiAgLyBfXyBcQAogLyAvIC8gL0AKL18vIC9fLyBACiAgICAgICAgQEAKICAgIF8gQAogICAoXylACiAgLyAvIEAKIC8gLyAgQAovXy8gICBACiAgICAgIEBACiAgICAgICBfIEAKICAgICAgKF8pQAogICAgIC8gLyBACiAgICAvIC8gIEAKIF9fLyAvICAgQAovX19fLyAgICBAQAogICAgX18gIEAKICAgLyAvX19ACiAgLyAvL18vQAogLyAsPCAgIEAKL18vfF98ICBACiAgICAgICAgQEAKICAgIF9fQAogICAvIC9ACiAgLyAvIEAKIC8gLyAgQAovXy8gICBACiAgICAgIEBACiAgICAgICAgICAgIEAKICAgX19fXyBfX18gQAogIC8gX18gYF9fIFxACiAvIC8gLyAvIC8gL0AKL18vIC9fLyAvXy8gQAogICAgICAgICAgICBAQAogICAgICAgIEAKICAgX19fXyBACiAgLyBfXyBcQAogLyAvIC8gL0AKL18vIC9fLyBACiAgICAgICAgQEAKICAgICAgIEAKICBfX19fIEAKIC8gX18gXEAKLyAvXy8gL0AKXF9fX18vIEAKICAgICAgIEBACiAgICAgICAgIEAKICAgIF9fX18gQAogICAvIF9fIFxACiAgLyAvXy8gL0AKIC8gLl9fXy8gQAovXy8gICAgICBAQAogICAgICAgIEAKICBfX19fIF9ACiAvIF9fIGAvQAovIC9fLyAvIEAKXF9fLCAvICBACiAgL18vICAgQEAKICAgICAgICBACiAgIF9fX19fQAogIC8gX19fL0AKIC8gLyAgICBACi9fLyAgICAgQAogICAgICAgIEBACiAgICAgICAgQAogICBfX19fX0AKICAvIF9fXy9ACiAoX18gICkgQAovX19fXy8gIEAKICAgICAgICBAQAogICBfXyBACiAgLyAvX0AKIC8gX18vQAovIC9fICBAClxfXy8gIEAKICAgICAgQEAKICAgICAgICBACiAgX18gIF9fQAogLyAvIC8gL0AKLyAvXy8gLyBAClxfXyxfLyAgQAogICAgICAgIEBACiAgICAgICBACiBfICAgX19ACnwgfCAvIC9ACnwgfC8gLyBACnxfX18vICBACiAgICAgICBAQAogICAgICAgICAgQAogXyAgICAgIF9fQAp8IHwgL3wgLyAvQAp8IHwvIHwvIC8gQAp8X18vfF9fLyAgQAogICAgICAgICAgQEAKICAgICAgICBACiAgIF8gIF9fQAogIHwgfC9fL0AKIF8+ICA8ICBACi9fL3xffCAgQAogICAgICAgIEBACiAgICAgICAgIEAKICAgX18gIF9fQAogIC8gLyAvIC9ACiAvIC9fLyAvIEAKIFxfXywgLyAgQAovX19fXy8gICBAQAogICAgIEAKIF9fX19ACi9fICAvQAogLyAvX0AKL19fXy9ACiAgICAgQEAKICAgICBfX0AKICAgXy9fL0AKIF8vXy8gIEAKPCA8ICAgIEAKLyAvICAgIEAKXF9cICAgIEBACiAgICAgX19ACiAgICAvIC9ACiAgIC8gLyBACiAgLyAvICBACiAvIC8gICBACi9fLyAgICBAQAogICAgIF8gQAogICAgfCB8QAogICAgLyAvQAogICBfPl8+QAogXy9fLyAgQAovXy8gICAgQEAKICAvXC8vQAogLy9cLyBACiAgJCAgIEAKICQgICAgQAokICAgICBACiAgICAgIEBACiAgICBfICBfIEAKICAgKF8pKF8pQAogIC8gXyB8ICBACiAvIF9fIHwgIEAKL18vIHxffCAgQAogICAgICAgICBAQAogICBfICAgXyBACiAgKF8pXyhfKUAKIC8gX18gXCAgQAovIC9fLyAvICBAClxfX19fLyAgIEAKICAgICAgICAgQEAKICAgXyAgIF8gQAogIChfKSAoXylACiAvIC8gLyAvIEAKLyAvXy8gLyAgQApcX19fXy8gICBACiAgICAgICAgIEBACiAgIF8gICBfIEAKICAoXylfKF8pQAogLyBfXyBgLyBACi8gL18vIC8gIEAKXF9fLF8vICAgQAogICAgICAgICBAQAogICBfICAgXyBACiAgKF8pXyhfKUAKIC8gX18gXCAgQAovIC9fLyAvICBAClxfX19fLyAgIEAKICAgICAgICAgQEAKICAgXyAgIF8gQAogIChfKSAoXylACiAvIC8gLyAvIEAKLyAvXy8gLyAgQApcX18sXy8gICBACiAgICAgICAgIEBACiAgICAgX19fXyBACiAgICAvIF9fIFxACiAgIC8gLyAvIC9ACiAgLyAvX3wgfCBACiAvIC8vX18vICBACi9fLyAgICAgICBAQAoxNjAgIE5PLUJSRUFLIFNQQUNFCiAgICAgJCRACiAgICAkJCBACiAgICQkICBACiAgJCQgICBACiAkJCAgICBACiQkICAgICBAQAoxNjEgIElOVkVSVEVEIEVYQ0xBTUFUSU9OIE1BUksKICAgIF8gQAogICAoXylACiAgLyAvIEAKIC8gLyAgQAovXy8gICBACiAgICAgIEBACjE2MiAgQ0VOVCBTSUdOCiAgICAgX19ACiAgX18vIC9ACiAvIF9fXy9ACi8gL19fICBAClwgIF8vICBACi9fLyAgICBAQAoxNjMgIFBPVU5EIFNJR04KICAgICBfX19fIEAKICAgIC8gLF9fXEAKIF9fLyAvXyAgIEAKIF8vIC9fX18gIEAKKF8sX19fXy8gIEAKICAgICAgICAgIEBACjE2NCAgQ1VSUkVOQ1kgU0lHTgogICAgL3xfX18vfEAKICAgfCBfXyAgLyBACiAgLyAvXy8gLyAgQAogL19fXyAgfCAgIEAKfC8gICB8LyAgICBACiAgICAgICAgICAgQEAKMTY1ICBZRU4gU0lHTgogICAgX19fX0AKICBffCAvIC9ACiAvXyAgX18vQAovXyAgX18vIEAKIC9fLyAgICBACiAgICAgICAgQEAKMTY2ICBCUk9LRU4gQkFSCiAgICAgX19ACiAgICAvIC9ACiAgIC9fLyBACiAgX18gICBACiAvIC8gICBACi9fLyAgICBAQAoxNjcgIFNFQ1RJT04gU0lHTgogICAgIF9fIEAKICAgXy8gXylACiAgLyB8IHwgQAogfCB8fCB8IEAKIHwgfF8vICBACihfXy8gICAgQEAKMTY4ICBESUFFUkVTSVMKICBfICAgXyBACiAoXykgKF8pQAogICQgICAkIEAKICQgICAkICBACiQgICAkICAgQAogICAgICAgIEBACjE2OSAgQ09QWVJJR0hUIFNJR04KICAgIF9fX19fXyAgQAogICAvIF9fX19fXCBACiAgLyAvIF9fXy8gfEAKIC8gLyAvX18gIC8gQAp8ICBcX19fLyAvICBACiBcX19fX19fLyAgIEBACjE3MCAgRkVNSU5JTkUgT1JESU5BTCBJTkRJQ0FUT1IKICAgX19fIF9ACiAgLyBfIGAvQAogX1xfLF8vIEAKL19fX18vICBACiAkICAgICAgQAogICAgICAgIEBACjE3MSAgTEVGVC1QT0lOVElORyBET1VCTEUgQU5HTEUgUVVPVEFUSU9OIE1BUksKICBfX19fQAogLyAvIC9ACi8gLyAvIEAKXCBcIFwgQAogXF9cX1xACiAgICAgIEBACjE3MiAgTk9UIFNJR04KICAgICAgIEAKIF9fX19fX0AKL19fXyAgL0AKICAgL18vIEAKICQgICAgIEAKICAgICAgIEBACjE3MyAgU09GVCBIWVBIRU4KICAgICAgQAogICAgICBACiBfX19fX0AKL19fX18vQAogICQgICBACiAgICAgIEBACjE3NCAgUkVHSVNURVJFRCBTSUdOCiAgICBfX19fX18gIEAKICAgLyBfX18gIFwgQAogIC8gLyBfIFwgIHxACiAvIC8gLCBfLyAvIEAKfCAvXy98X3wgLyAgQAogXF9fX19fXy8gICBAQAoxNzUgIE1BQ1JPTgogX19fX19fQAovX19fX18vQAogICQgICAgQAogJCAgICAgQAokICAgICAgQAogICAgICAgQEAKMTc2ICBERUdSRUUgU0lHTgogIF9fXyBACiAvIF8gXEAKLyAvLyAvQApcX19fLyBACiAkICAgIEAKICAgICAgQEAKMTc3ICBQTFVTLU1JTlVTIFNJR04KICAgICAgX18gQAogICBfXy8gL19ACiAgL18gIF9fL0AKIF9fL18vXyAgQAovX19fX18vICBACiAgICAgICAgIEBACjE3OCAgU1VQRVJTQ1JJUFQgVFdPCiAgIF9fXyBACiAgfF8gIHxACiAvIF9fLyBACi9fX19fLyBACiAkICAgICBACiAgICAgICBAQAoxNzkgIFNVUEVSU0NSSVBUIFRIUkVFCiAgIF9fX19ACiAgfF8gIC9ACiBfL18gPCBACi9fX19fLyBACiAkICAgICBACiAgICAgICBAQAoxODAgIEFDVVRFIEFDQ0VOVAogIF9fQAogL18vQAogICQgQAogJCAgQAokICAgQAogICAgQEAKMTgxICBNSUNSTyBTSUdOCiAgICAgICAgICBACiAgICBfXyAgX19ACiAgIC8gLyAvIC9ACiAgLyAvXy8gLyBACiAvIC5fLF8vICBACi9fLyAgICAgICBAQAoxODIgIFBJTENST1cgU0lHTgogIF9fX19fX19ACiAvIF8gICAgL0AKLyAoLyAvIC8gQApcXyAgLyAvICBACiAvXy9fLyAgIEAKICAgICAgICAgQEAKMTgzICBNSURETEUgRE9UCiAgIEAKIF8gQAooXylACiAkIEAKJCAgQAogICBAQAoxODQgIENFRElMTEEKICAgQAogICBACiAgIEAKICAgQAogXyBACi9fKUBACjE4NSAgU1VQRVJTQ1JJUFQgT05FCiAgX19fQAogPCAgL0AKIC8gLyBACi9fLyAgQAokICAgIEAKICAgICBAQAoxODYgIE1BU0NVTElORSBPUkRJTkFMIElORElDQVRPUgogICBfX18gQAogIC8gXyBcQAogX1xfX18vQAovX19fXy8gQAogJCAgICAgQAogICAgICAgQEAKMTg3ICBSSUdIVC1QT0lOVElORyBET1VCTEUgQU5HTEUgUVVPVEFUSU9OIE1BUksKX19fXyAgQApcIFwgXCBACiBcIFwgXEAKIC8gLyAvQAovXy9fLyBACiAgICAgIEBACjE4OCAgVlVMR0FSIEZSQUNUSU9OIE9ORSBRVUFSVEVSCiAgX19fICAgX18gQAogPCAgLyBfL18vIEAKIC8gL18vXy9fX19ACi9fLy9fLy8gLyAvQAogL18vIC9fICBfL0AKICAgICAgL18vICBAQAoxODkgIFZVTEdBUiBGUkFDVElPTiBPTkUgSEFMRgogIF9fXyAgIF9fICAgQAogPCAgLyBfL18vX18gQAogLyAvXy9fL3xfICB8QAovXy8vXy8gLyBfXy8gQAogL18vICAvX19fXy8gQAogICAgICAgICAgICAgQEAKMTkwICBWVUxHQVIgRlJBQ1RJT04gVEhSRUUgUVVBUlRFUlMKICAgX19fXyAgICBfXyBACiAgfF8gIC8gIF8vXy8gQAogXy9fIDwgXy9fL19fX0AKL19fX18vL18vLyAvIC9ACiAgICAvXy8gL18gIF8vQAogICAgICAgICAvXy8gIEBACjE5MSAgSU5WRVJURUQgUVVFU1RJT04gTUFSSwogICAgXyBACiAgIChfKUAKIF8vIC8gQAovIF8vXyBAClxfX18vIEAKICAgICAgQEAKMTkyICBMQVRJTiBDQVBJVEFMIExFVFRFUiBBIFdJVEggR1JBVkUKICAgIF9fIEAKICAgX1xfXEAKICAvIF8gfEAKIC8gX18gfEAKL18vIHxffEAKICAgICAgIEBACjE5MyAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgQSBXSVRIIEFDVVRFCiAgICAgX19ACiAgIF8vXy9ACiAgLyBfIHxACiAvIF9fIHxACi9fLyB8X3xACiAgICAgICBAQAoxOTQgIExBVElOIENBUElUQUwgTEVUVEVSIEEgV0lUSCBDSVJDVU1GTEVYCiAgICAgLy98QAogICBffC98fEAKICAvIF8gfCBACiAvIF9fIHwgQAovXy8gfF98IEAKICAgICAgICBAQAoxOTUgIExBVElOIENBUElUQUwgTEVUVEVSIEEgV0lUSCBUSUxERQogICAgIC9cLy9ACiAgIF8vL1wvIEAKICAvIF8gfCAgQAogLyBfXyB8ICBACi9fLyB8X3wgIEAKICAgICAgICAgQEAKMTk2ICBMQVRJTiBDQVBJVEFMIExFVFRFUiBBIFdJVEggRElBRVJFU0lTCiAgICBfICBfIEAKICAgKF8pKF8pQAogIC8gXyB8ICBACiAvIF9fIHwgIEAKL18vIHxffCAgQAogICAgICAgICBAQAoxOTcgIExBVElOIENBUElUQUwgTEVUVEVSIEEgV0lUSCBSSU5HIEFCT1ZFCiAgICAoKCkpQAogICAvICAgfEAKICAvIC98IHxACiAvIF9fXyB8QAovXy8gIHxffEAKICAgICAgICBAQAoxOTggIExBVElOIENBUElUQUwgTEVUVEVSIEFFCiAgICBfX19fX19fX19fQAogICAvICAgICBfX19fL0AKICAvIC98ICBfXy8gICBACiAvIF9fICAvX19fICAgQAovXy8gL19fX19fLyAgIEAKICAgICAgICAgICAgICBAQAoxOTkgIExBVElOIENBUElUQUwgTEVUVEVSIEMgV0lUSCBDRURJTExBCiAgIF9fX19fX0AKICAvIF9fX18vQAogLyAvICAgICBACi8gL19fXyAgIEAKXF9fX18vICAgQAogL18pICAgICBAQAoyMDAgIExBVElOIENBUElUQUwgTEVUVEVSIEUgV0lUSCBHUkFWRQogICAgX18gQAogICBfXF9cQAogIC8gX18vQAogLyBfLyAgQAovX19fLyAgQAogICAgICAgQEAKMjAxICBMQVRJTiBDQVBJVEFMIExFVFRFUiBFIFdJVEggQUNVVEUKICAgICBfX0AKICAgXy9fL0AKICAvIF9fL0AKIC8gXy8gIEAKL19fXy8gIEAKICAgICAgIEBACjIwMiAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgRSBXSVRIIENJUkNVTUZMRVgKICAgICAvL3xACiAgIF98L3x8QAogIC8gX18vIEAKIC8gXy8gICBACi9fX18vICAgQAogICAgICAgIEBACjIwMyAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgRSBXSVRIIERJQUVSRVNJUwogICAgXyAgXyBACiAgIChfKShfKUAKICAvIF9fLyAgQAogLyBfLyAgICBACi9fX18vICAgIEAKICAgICAgICAgQEAKMjA0ICBMQVRJTiBDQVBJVEFMIExFVFRFUiBJIFdJVEggR1JBVkUKICAgIF9fIEAKICAgX1xfXEAKICAvICBfL0AKIF8vIC8gIEAKL19fXy8gIEAKICAgICAgIEBACjIwNSAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgSSBXSVRIIEFDVVRFCiAgICAgX19ACiAgIF8vXy9ACiAgLyAgXy9ACiBfLyAvICBACi9fX18vICBACiAgICAgICBAQAoyMDYgIExBVElOIENBUElUQUwgTEVUVEVSIEkgV0lUSCBDSVJDVU1GTEVYCiAgICAgLy98QAogICBffC98fEAKICAvICBfLyBACiBfLyAvICAgQAovX19fLyAgIEAKICAgICAgICBAQAoyMDcgIExBVElOIENBUElUQUwgTEVUVEVSIEkgV0lUSCBESUFFUkVTSVMKICAgIF8gIF8gQAogICAoXykoXylACiAgLyAgXy8gIEAKIF8vIC8gICAgQAovX19fLyAgICBACiAgICAgICAgIEBACjIwOCAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgRVRICiAgICAgX19fXyBACiAgICAvIF9fIFxACiBfXy8gL18vIC9ACi9fICBfXy8gLyBACiAvX19fX18vICBACiAgICAgICAgICBAQAoyMDkgIExBVElOIENBUElUQUwgTEVUVEVSIE4gV0lUSCBUSUxERQogICAgIC9cLy9ACiAgIF8vL1wvIEAKICAvIHwvIC8gQAogLyAgICAvICBACi9fL3xfLyAgIEAKICAgICAgICAgQEAKMjEwICBMQVRJTiBDQVBJVEFMIExFVFRFUiBPIFdJVEggR1JBVkUKICAgIF9fIEAKICBfX1xfXEAKIC8gX18gXEAKLyAvXy8gL0AKXF9fX18vIEAKICAgICAgIEBACjIxMSAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgTyBXSVRIIEFDVVRFCiAgICAgX19ACiAgX18vXy9ACiAvIF9fIFxACi8gL18vIC9AClxfX19fLyBACiAgICAgICBAQAoyMTIgIExBVElOIENBUElUQUwgTEVUVEVSIE8gV0lUSCBDSVJDVU1GTEVYCiAgICAvL3xACiAgX3wvfHxACiAvIF9fIFxACi8gL18vIC9AClxfX19fLyBACiAgICAgICBAQAoyMTMgIExBVElOIENBUElUQUwgTEVUVEVSIE8gV0lUSCBUSUxERQogICAgL1wvL0AKICBfLy9cLyBACiAvIF9fIFwgQAovIC9fLyAvIEAKXF9fX18vICBACiAgICAgICAgQEAKMjE0ICBMQVRJTiBDQVBJVEFMIExFVFRFUiBPIFdJVEggRElBRVJFU0lTCiAgIF8gICBfIEAKICAoXylfKF8pQAogLyBfXyBcICBACi8gL18vIC8gIEAKXF9fX18vICAgQAogICAgICAgICBAQAoyMTUgIE1VTFRJUExJQ0FUSU9OIFNJR04KICAgICBACiAgICAgQAogL3wvfEAKID4gPCBACnwvfC8gQAogICAgIEBACjIxNiAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgTyBXSVRIIFNUUk9LRQogICBfX19fXyBACiAgLyBfLy8gXEAKIC8gLy8vLyAvQAovIC8vLy8gLyBAClxfLy9fXy8gIEAKICAgICAgICAgQEAKMjE3ICBMQVRJTiBDQVBJVEFMIExFVFRFUiBVIFdJVEggR1JBVkUKICAgIF9fICBACiAgX19cX1xfQAogLyAvIC8gL0AKLyAvXy8gLyBAClxfX19fLyAgQAogICAgICAgIEBACjIxOCAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgVSBXSVRIIEFDVVRFCiAgICAgX18gQAogIF9fL18vX0AKIC8gLyAvIC9ACi8gL18vIC8gQApcX19fXy8gIEAKICAgICAgICBAQAoyMTkgIExBVElOIENBUElUQUwgTEVUVEVSIFUgV0lUSCBDSVJDVU1GTEVYCiAgICAvL3wgQAogIF98L3x8X0AKIC8gLyAvIC9ACi8gL18vIC8gQApcX19fXy8gIEAKICAgICAgICBAQAoyMjAgIExBVElOIENBUElUQUwgTEVUVEVSIFUgV0lUSCBESUFFUkVTSVMKICAgXyAgIF8gQAogIChfKSAoXylACiAvIC8gLyAvIEAKLyAvXy8gLyAgQApcX19fXy8gICBACiAgICAgICAgIEBACjIyMSAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgWSBXSVRIIEFDVVRFCiAgIF9fIEAKX18vXy9fQApcIFwvIC9ACiBcICAvIEAKIC9fLyAgQAogICAgICBAQAoyMjIgIExBVElOIENBUElUQUwgTEVUVEVSIFRIT1JOCiAgICBfXyAgQAogICAvIC9fIEAKICAvIF9fIFxACiAvIF9fX18vQAovXy8gICAgIEAKICAgICAgICBAQAoyMjMgIExBVElOIFNNQUxMIExFVFRFUiBTSEFSUCBTCiAgICAgX19fXyBACiAgICAvIF9fIFxACiAgIC8gLyAvIC9ACiAgLyAvX3wgfCBACiAvIC8vX18vICBACi9fLyAgICAgICBAQAoyMjQgIExBVElOIFNNQUxMIExFVFRFUiBBIFdJVEggR1JBVkUKICAgIF9fICBACiAgX19cX1xfQAogLyBfXyBgL0AKLyAvXy8gLyBAClxfXyxfLyAgQAogICAgICAgIEBACjIyNSAgTEFUSU4gU01BTEwgTEVUVEVSIEEgV0lUSCBBQ1VURQogICAgIF9fIEAKICBfXy9fL19ACiAvIF9fIGAvQAovIC9fLyAvIEAKXF9fLF8vICBACiAgICAgICAgQEAKMjI2ICBMQVRJTiBTTUFMTCBMRVRURVIgQSBXSVRIIENJUkNVTUZMRVgKICAgIC8vfCBACiAgX3wvfHxfQAogLyBfXyBgL0AKLyAvXy8gLyBAClxfXyxfLyAgQAogICAgICAgIEBACjIyNyAgTEFUSU4gU01BTEwgTEVUVEVSIEEgV0lUSCBUSUxERQogICAgL1wvL0AKICBfLy9cL19ACiAvIF9fIGAvQAovIC9fLyAvIEAKXF9fLF8vICBACiAgICAgICAgQEAKMjI4ICBMQVRJTiBTTUFMTCBMRVRURVIgQSBXSVRIIERJQUVSRVNJUwogICBfICAgXyBACiAgKF8pXyhfKUAKIC8gX18gYC8gQAovIC9fLyAvICBAClxfXyxfLyAgIEAKICAgICAgICAgQEAKMjI5ICBMQVRJTiBTTUFMTCBMRVRURVIgQSBXSVRIIFJJTkcgQUJPVkUKICAgICBfXyBACiAgX18oKCkpQAogLyBfXyBgL0AKLyAvXy8gLyBAClxfXyxfLyAgQAogICAgICAgIEBACjIzMCAgTEFUSU4gU01BTEwgTEVUVEVSIEFFCiAgICAgICAgICAgQAogIF9fX18gX19fIEAKIC8gX18gYCBfIFxACi8gL18vICAgX18vQApcX18sX19fX18vIEAKICAgICAgICAgICBAQAoyMzEgIExBVElOIFNNQUxMIExFVFRFUiBDIFdJVEggQ0VESUxMQQogICAgICAgQAogIF9fX19fQAogLyBfX18vQAovIC9fXyAgQApcX19fLyAgQAovXykgICAgQEAKMjMyICBMQVRJTiBTTUFMTCBMRVRURVIgRSBXSVRIIEdSQVZFCiAgIF9fIEAKICBfXF9cQAogLyBfIFxACi8gIF9fL0AKXF9fXy8gQAogICAgICBAQAoyMzMgIExBVElOIFNNQUxMIExFVFRFUiBFIFdJVEggQUNVVEUKICAgIF9fQAogIF8vXy9ACiAvIF8gXEAKLyAgX18vQApcX19fLyBACiAgICAgIEBACjIzNCAgTEFUSU4gU01BTEwgTEVUVEVSIEUgV0lUSCBDSVJDVU1GTEVYCiAgICAvL3xACiAgX3wvfHxACiAvIF8gXCBACi8gIF9fLyBAClxfX18vICBACiAgICAgICBAQAoyMzUgIExBVElOIFNNQUxMIExFVFRFUiBFIFdJVEggRElBRVJFU0lTCiAgIF8gIF8gQAogIChfKShfKUAKIC8gXyBcICBACi8gIF9fLyAgQApcX19fLyAgIEAKICAgICAgICBAQAoyMzYgIExBVElOIFNNQUxMIExFVFRFUiBJIFdJVEggR1JBVkUKICAgX18gQAogICBcX1xACiAgLyAvIEAKIC8gLyAgQAovXy8gICBACiAgICAgIEBACjIzNyAgTEFUSU4gU01BTEwgTEVUVEVSIEkgV0lUSCBBQ1VURQogICAgX19ACiAgIC9fL0AKICAvIC8gQAogLyAvICBACi9fLyAgIEAKICAgICAgQEAKMjM4ICBMQVRJTiBTTUFMTCBMRVRURVIgSSBXSVRIIENJUkNVTUZMRVgKICAgIC8vfEAKICAgfC98fEAKICAvIC8gIEAKIC8gLyAgIEAKL18vICAgIEAKICAgICAgIEBACjIzOSAgTEFUSU4gU01BTEwgTEVUVEVSIEkgV0lUSCBESUFFUkVTSVMKICBfICAgXyBACiAoXylfKF8pQAogIC8gLyAgIEAKIC8gLyAgICBACi9fLyAgICAgQAogICAgICAgIEBACjI0MCAgTEFUSU4gU01BTEwgTEVUVEVSIEVUSAogICAgIHx8IEAKICAgID18fD1ACiBfX18gfHwgQAovIF9fYCB8IEAKXF9fX18vICBACiAgICAgICAgQEAKMjQxICBMQVRJTiBTTUFMTCBMRVRURVIgTiBXSVRIIFRJTERFCiAgICAgL1wvL0AKICAgXy8vXC8gQAogIC8gX18gXCBACiAvIC8gLyAvIEAKL18vIC9fLyAgQAogICAgICAgICBAQAoyNDIgIExBVElOIFNNQUxMIExFVFRFUiBPIFdJVEggR1JBVkUKICAgIF9fIEAKICBfX1xfXEAKIC8gX18gXEAKLyAvXy8gL0AKXF9fX18vIEAKICAgICAgIEBACjI0MyAgTEFUSU4gU01BTEwgTEVUVEVSIE8gV0lUSCBBQ1VURQogICAgIF9fQAogIF9fL18vQAogLyBfXyBcQAovIC9fLyAvQApcX19fXy8gQAogICAgICAgQEAKMjQ0ICBMQVRJTiBTTUFMTCBMRVRURVIgTyBXSVRIIENJUkNVTUZMRVgKICAgIC8vfEAKICBffC98fEAKIC8gX18gXEAKLyAvXy8gL0AKXF9fX18vIEAKICAgICAgIEBACjI0NSAgTEFUSU4gU01BTEwgTEVUVEVSIE8gV0lUSCBUSUxERQogICAgL1wvL0AKICBfLy9cLyBACiAvIF9fIFwgQAovIC9fLyAvIEAKXF9fX18vICBACiAgICAgICAgQEAKMjQ2ICBMQVRJTiBTTUFMTCBMRVRURVIgTyBXSVRIIERJQUVSRVNJUwogICBfICAgXyBACiAgKF8pXyhfKUAKIC8gX18gXCAgQAovIC9fLyAvICBAClxfX19fLyAgIEAKICAgICAgICAgQEAKMjQ3ICBESVZJU0lPTiBTSUdOCiAgICAgICBACiAgICBfICBACiBfXyhfKV9ACi9fX19fXy9ACiAoXykgICBACiAgICAgICBAQAoyNDggIExBVElOIFNNQUxMIExFVFRFUiBPIFdJVEggU1RST0tFCiAgICAgICAgQAogIF9fX19fIEAKIC8gXy8vIFxACi8gLy8vLyAvQApcXy8vX18vIEAKICAgICAgICBAQAoyNDkgIExBVElOIFNNQUxMIExFVFRFUiBVIFdJVEggR1JBVkUKICAgIF9fICBACiAgX19cX1xfQAogLyAvIC8gL0AKLyAvXy8gLyBAClxfXyxfLyAgQAogICAgICAgIEBACjI1MCAgTEFUSU4gU01BTEwgTEVUVEVSIFUgV0lUSCBBQ1VURQogICAgIF9fIEAKICBfXy9fL19ACiAvIC8gLyAvQAovIC9fLyAvIEAKXF9fLF8vICBACiAgICAgICAgQEAKMjUxICBMQVRJTiBTTUFMTCBMRVRURVIgVSBXSVRIIENJUkNVTUZMRVgKICAgIC8vfCBACiAgX3wvfHxfQAogLyAvIC8gL0AKLyAvXy8gLyBAClxfXyxfLyAgQAogICAgICAgIEBACjI1MiAgTEFUSU4gU01BTEwgTEVUVEVSIFUgV0lUSCBESUFFUkVTSVMKICAgXyAgIF8gQAogIChfKSAoXylACiAvIC8gLyAvIEAKLyAvXy8gLyAgQApcX18sXy8gICBACiAgICAgICAgIEBACjI1MyAgTEFUSU4gU01BTEwgTEVUVEVSIFkgV0lUSCBBQ1VURQogICAgICBfXyBACiAgIF9fL18vX0AKICAvIC8gLyAvQAogLyAvXy8gLyBACiBcX18sIC8gIEAKL19fX18vICAgQEAKMjU0ICBMQVRJTiBTTUFMTCBMRVRURVIgVEhPUk4KICAgICBfXyAgQAogICAgLyAvXyBACiAgIC8gX18gXEBSZWFkRm9udAogIC8gL18vIC9ACiAvIC5fX18vIEAKL18vICAgICAgQEAKMjU1ICBMQVRJTiBTTUFMTCBMRVRURVIgWSBXSVRIIERJQUVSRVNJUwogICAgXyAgIF8gQAogICAoXykgKF8pQAogIC8gLyAvIC8gQAogLyAvXy8gLyAgQAogXF9fLCAvICAgQAovX19fXy8gICAgQEAK"
	return base64.StdEncoding.DecodeString(content)
}
